The present invention generally relates to the storage of color image information, and more particularly to a method and system for representing and displaying color images on limited color-depth resolution displays.
Over the years, portable, e.g., hand-held game machines have been, and continue to be, very popular. Typically, these portable game machines include a hand-held game machine housing a display for displaying images and a game processing unit, and associated hardware for running a game program. The game program itself is typically contained in a game program memory such as, for example, a semiconductor memory (e.g., ROM, EPROM, etc.) that is part of a removable cartridge. By storing the game program in a removable cartridge, the user can conveniently and easily change the game being played by simply exchanging one cartridge with another, different cartridge containing a different game. Examples of portable game machines are the “Game Boy®” and “Game Boy® Color” products manufactured and sold by Nintendo of America Inc.
Generally, the functionality of conventional portable game machines of the type described above is directed to executing, on a processor in the hand-held game machine, the game that is provided to the game program memory from a particular removable cartridge in response to user input. When using the portable game machine, visual and auditory feedback is provided to the user. The visual and auditory content is stored in compressed form in the removable cartridge along with programming information to instruct the processor in the game machine to decompress the content. The visual content is displayed to the user on a color or monochrome display, such as a liquid crystal display (LCD), and the auditory content is provided via a speaker that is part of the hand-held game machine or via a socket for a headphone jack on the machine.
A prior art exemplary embedded device is illustrated in FIGS. 1A, 1B, and 1C, which show a portable (hand-held) color display game machine (hereinafter, referred to simply as “game machine”) 10 that displays game characters in color on a color liquid crystal display (LCD) 16 when a prior art color-ready game cartridge 12 is selectively inserted into a slot 18, and in FIG. 2 as an overall block diagram of the game machine and game cartridge. Batteries (not shown), e.g., 2 AA batteries provide power for game machine 10, which may also be configured for connection to an AC adapter to permit extended use without batteries. Game machine 10 is a prior art game machine and is described, for example, in U.S. Pat. No. 6,716,103, incorporated herein by reference.
The color LCD 16 displays either color or black and white depending on the type of game cartridge 12 inserted into the game machine 10. With reference to FIG. 2, prior art game machine 10 includes color LCD 16 as described above, and is formed as a dot matrix display and is driven by LCD drivers 22 and 24 to display color images on its screen. LCD driver 22 selectively drives, for example, the rows of the dot matrix display and LCD driver 24 selectively drives, for example, the columns of the dot matrix display. LCD drivers 22, 24 are supplied with color image signals from a color display processing circuit 28 included in a central processing unit (CPU) 25.
Programs for operating game machine 10 are provided through a connector 40 connected to CPU 25 by an appropriate bus. More specifically, game cartridge 12 shown in FIG. 1A is selectively attachable to connector 40. Game cartridge 12 is preferably in the form of a replaceable memory cartridge that can be inserted into slot 18 of game machine 10 and having a printed circuit board with a connector defining a number of electrical contacts. When game cartridge 12 is inserted into slot 18 of game machine 10, the cartridge electrical contacts mate with corresponding “edge connector” electrical contacts within game machine 10. This action electrically connects the printed circuit board to the electronics within game machine 10. In this example, the printed circuit board of game cartridge 12 at least includes a read-only memory (ROM) 42 and a read/write memory (e.g., SRAM) 46. ROM 42 stores instructions and other information pertaining to a particular video game. ROM 42 for one game cartridge 12 may, for example, contain instructions and other information for an adventure game while the ROM of another game cartridge 12 may contain instructions and other information for a car race game or an educational game, for example. To play a game, a user of game machine 10 need only plug the appropriate game cartridge into slot 18 of game machine 10 thereby connecting the cartridge's ROM 42 (and any other circuitry it may contain) to game machine 10. This enables the game machine circuitry to access information contained within ROM 42 (and read/write memory 46), which information controls the game machine to play the appropriate video game by displaying images and reproducing sound as specified under control of the ROM game program information. Read/write memory 46 is used to store data such as game backup data.
In accordance with the game program, character data supplied from game cartridge 12 and the controller data from operating keys 48a-48e, CPU 25 executes data processing and writes display data into a display RAM 52, using an extended RAM 50 when necessary. As a result of the data processing by CPU 25, images are supplied to display 16 and sound signals to be output are adjusted in level by volume controls 54 and 56, and then outputted to a speaker 58 and/or an earphone jack 60. Sound signals output from speaker 58 and/or earphone jack 60 include game sound effects, voices and music.
Generally speaking, to use game machine 10 to play a game, a user selects a game cartridge 12 containing a desired video game, and inserts that game cartridge into slot 18 of game machine 10, thereby electrically connecting ROM 42 and other cartridge electronics to game machine 10. The user then operates a power switch 21 (see FIG. 1B) to turn on game machine 10 and operates operating keys 48a-48e to control video game play.
Handheld devices are often equipped with displays of limited color-depth resolution due to cost constraints on the devices. As an example, each pixel of the color display of a portable gaming device typically has a total of 15 bits of color-depth resolution. Prior art handheld devices store the color in three color components, red, green, and blue (RGB color space), and thus provide 5 bits of color-depth resolution (32 intensity levels) for each color component. In contrast, desktop computer displays often have 24 bits of color-depth resolution—8 bits (256 intensity levels) for each of the three color components.
In general, 24-bit displays are adequate to provide realistic rendering of most images, while the smaller number of bits available in handheld devices results in a noticeably inferior image. Thus, for example, the displayed content of games is generated using computers with high-color-depth resolution graphics, and thus the image displayed on handheld device can be very different from what the designer of the displayed image intended. Another problem with prior art displays of limited color-depth resolution is that smooth gradations in color appear blocky because of the lack of a more complete color palate. Yet another problem not adequately addressed with prior art systems is contrast control. Handheld devices are meant to be used in a variety of lighting conditions, and thus require effective control of the display contrast. Prior art displays do not provide for contrast control over a wide enough range of lighting conditions.
While the use of limited color-depth resolution displays is required for cost consideration, it is seen that there are many problems associated with the limited color-depth resolution. Thus there is a need in the art for a method and apparatus that permits a better displayed image and an image whose intensity can be better adjusted in response to ambient lighting conditions. Such a method and apparatus should be compatible with current devices, should not add appreciable cost to the devices, and should not add/require appreciable additional computing by the device.